package com.iring.dao.common;

import org.springframework.data.jpa.repository.query.Procedure;
import org.springframework.data.repository.CrudRepository;

import com.iring.domain.common.ConsumptionDetail;


/**
 * 消费信息dao
 *
 * @author wanggan
 */
public interface ConsumptionDao extends CrudRepository<ConsumptionDetail, Integer> {

    /**
     * 保存消费记录并更新用户的金额
     * 
     * @param username
     *            用户名
     * @param opttype
     *            消费类型
     * @param optmoney
     *            消费金额
     * @return    事务执行结果,
     *            如果返回0则失败,
     *            如果返回其他Double值,返回的是操作完成后账户剩余的金额
     */
    @Procedure(procedureName = "USP_CONSUMPTION_ADD_PROC")
    Double insertConsumptionInfoProc(String username, Integer opttype, Double optmoney);

}
